package com.roads.site.domain;

import com.roads.common.annotation.Excel;
import com.roads.common.annotation.Excel.ColumnType;
import com.roads.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 劳务工工资明细对象 site_labour_staff_salary_detail
 *
 * @author nhp
 * @date 2022-11-15
 */
public class SiteLabourStaffSalaryDetail extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    private Integer detailId;

    /**
     * 主表ID
     */
    private Integer masterId;

    /**
     * 劳务工ID
     */
    private Integer staffId;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String idNo;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 施工队伍ID
     */
    private Integer battalionId;

    /**
     * 施工班组ID
     */
    private Integer teamId;

    /**
     * 岗位工种ID
     */
    private Integer postId;

    /**
     * 出勤天数
     */
    @Excel(name = "出勤天数", cellType = ColumnType.NUMERIC)
    private Integer attendanceDay;

    /**
     * 应发工资
     */
    @Excel(name = "应发工资", cellType = ColumnType.NUMERIC)
    private BigDecimal totalPayAmount;

    /**
     * 实发工资
     */
    @Excel(name = "实发工资", cellType = ColumnType.NUMERIC)
    private BigDecimal finalPayingAmount;

    /**
     * 累计欠款
     */
    private BigDecimal arrearsAmount;

    /**
     * 行数
     */
    private Integer row;

    public void setDetailId(Integer detailId) {
        this.detailId = detailId;
    }

    public Integer getDetailId() {
        return detailId;
    }

    public void setMasterId(Integer masterId) {
        this.masterId = masterId;
    }

    public Integer getMasterId() {
        return masterId;
    }

    public void setStaffId(Integer staffId) {
        this.staffId = staffId;
    }

    public Integer getStaffId() {
        return staffId;
    }

    public void setIdNo(String idNo) {
        this.idNo = idNo;
    }

    public String getIdNo() {
        return idNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setBattalionId(Integer battalionId) {
        this.battalionId = battalionId;
    }

    public Integer getBattalionId() {
        return battalionId;
    }

    public void setTeamId(Integer teamId) {
        this.teamId = teamId;
    }

    public Integer getTeamId() {
        return teamId;
    }

    public void setPostId(Integer postId) {
        this.postId = postId;
    }

    public Integer getPostId() {
        return postId;
    }

    public void setAttendanceDay(Integer attendanceDay) {
        this.attendanceDay = attendanceDay;
    }

    public Integer getAttendanceDay() {
        return attendanceDay;
    }

    public void setTotalPayAmount(BigDecimal totalPayAmount) {
        this.totalPayAmount = totalPayAmount;
    }

    public BigDecimal getTotalPayAmount() {
        return totalPayAmount;
    }

    public void setFinalPayingAmount(BigDecimal finalPayingAmount) {
        this.finalPayingAmount = finalPayingAmount;
    }

    public BigDecimal getFinalPayingAmount() {
        return finalPayingAmount;
    }

    public void setArrearsAmount(BigDecimal arrearsAmount) {
        this.arrearsAmount = arrearsAmount;
    }

    public BigDecimal getArrearsAmount() {
        return arrearsAmount;
    }

    public Integer getRow() {
        return row;
    }

    public void setRow(Integer row) {
        this.row = row;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("detailId", getDetailId())
                .append("masterId", getMasterId())
                .append("staffId", getStaffId())
                .append("idNo", getIdNo())
                .append("battalionId", getBattalionId())
                .append("teamId", getTeamId())
                .append("postId", getPostId())
                .append("attendanceDay", getAttendanceDay())
                .append("totalPayAmount", getTotalPayAmount())
                .append("finalPayingAmount", getFinalPayingAmount())
                .append("arrearsAmount", getArrearsAmount())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

}
